package valid

import (
	"fmt"
	ut "github.com/go-playground/universal-translator"
	"github.com/go-playground/validator/v10"
)

func addEmail0Valid(v *validator.Validate, trans ut.Translator) {

	// 1.自己注册 自定义获取json标签值的中文翻译
	_ = v.RegisterTranslation("email0", trans, tranUserNameRegis, tranUserName)
	// 2. 注册校验规则
	v.RegisterValidation("email0", func(fl validator.FieldLevel) bool {
		// 这里写校验逻辑
		fval := fl.Field().Interface().(string)
		fmt.Println("------fval=", fval)

		return false
	})
}

// 注册email0标签的翻译
func tranUserNameRegis(ut ut.Translator) error {
	// {0} 就是user_name标签名
	return ut.Add("email0", "{0}非法的用户名!", true)
}

// user_name翻译函数
func tranUserName(ut ut.Translator, fe validator.FieldError) string {
	t, _ := ut.T("email0", fe.Field())
	return t
}
